home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / LINUX / NFSIOD.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  1KB  |  53 lines

  1. /*
  2.  * linux/include/linux/nfsiod.h
  3.  *
  4.  * Declarations for asynchronous NFS RPC calls.
  5.  *
  6.  */
  7.  
  8. #ifndef _LINUX_NFSIOD_H
  9. #define _LINUX_NFSIOD_H
  10.  
  11. #include <linux/rpcsock.h>
  12. #include <linux/nfs_fs.h>
  13.  
  14. #ifdef __KERNEL__
  15.  
  16. /*
  17.  * This is the callback handler for nfsiod requests.
  18.  * Note that the callback procedure must NOT sleep.
  19.  */
  20. struct nfsiod_req;
  21. typedef int    (*nfsiod_callback_t)(int result, struct nfsiod_req *);
  22.  
  23. /*
  24.  * This is the nfsiod request struct.
  25.  */
  26. struct nfsiod_req {
  27.     struct nfsiod_req *    rq_next;
  28.     struct nfsiod_req *    rq_prev;
  29.     struct wait_queue *    rq_wait;
  30.     struct rpc_ioreq    rq_rpcreq;
  31.     nfsiod_callback_t    rq_callback;
  32.     struct nfs_server *    rq_server;
  33.     struct inode *        rq_inode;
  34.     struct page *        rq_page;
  35.  
  36.     /* user creds */
  37.     uid_t            rq_fsuid;
  38.     gid_t            rq_fsgid;
  39.     int            rq_groups[NGROUPS];
  40.  
  41.     /* retry handling */
  42.     int            rq_retries;
  43. };
  44.  
  45. struct nfsiod_req *    nfsiod_reserve(struct nfs_server *);
  46. void            nfsiod_release(struct nfsiod_req *);
  47. void            nfsiod_enqueue(struct nfsiod_req *);
  48. int            nfsiod(void);
  49.  
  50.  
  51. #endif /* __KERNEL__ */
  52. #endif /* _LINUX_NFSIOD_H */
  53.